package interfaz;

import java.awt.BorderLayout;
import entidades.*;
import logicaDeNegocio.*;
import java.awt.EventQueue;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JScrollPane;
import javax.swing.JScrollBar;
import javax.swing.ListSelectionModel;
import java.awt.Color;
import javax.swing.JTabbedPane;
import java.awt.TextArea;
import javax.swing.JTextArea;
import javax.swing.table.DefaultTableModel;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLayeredPane;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;

import entidades.EquipoDeFantasia;
import entidades.DAOs.DAOfechas;
import entidades.DTOs.DTOFecha;
import java.util.ArrayList;

import java.awt.Font;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import utilidades.ConexionBD;


public class TablaGeneralTorneo extends JDialog {
	
	
	public String FechaSeleccionada;
	private JComboBox comboBox;
	private JPanel contentPane;
	private JTable table;
	private JTable table_1;
	JLabel lblNewLabel_1;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		
	}

	/**
	 * Create the frame.
	 * @throws ClassNotFoundException 
	 * @throws SQLException 
	 */
	public  TablaGeneralTorneo(final String[] mipuesto1, final Object[][] tabla1, final String Fecha1, final Usuario user) throws SQLException, ClassNotFoundException {
		
	
		//final String[] mipuesto11 = new String[4];
		final String[] Fecha11 = new String[19];
		final Object[][] tablageneral1 = new Object[100][40];
		final String[] FechaSeleccionada2 = new String[1];
		
		setResizable(false);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		setIconImage(Toolkit.getDefaultToolkit().getImage(RegistroDeUsuario.class.getResource("/assets/Footxi.png")));
		setBounds(300, 100, 800, 600);
		setSize(750,600);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		
	
					
		final JLayeredPane layeredPane_1 = new JLayeredPane();
		GroupLayout gl_contentPane = new GroupLayout(contentPane);
		gl_contentPane.setHorizontalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addComponent(layeredPane_1, GroupLayout.DEFAULT_SIZE, 734, Short.MAX_VALUE)
		);
		gl_contentPane.setVerticalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addComponent(layeredPane_1, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 573, Short.MAX_VALUE)
		);
		
		
		JLabel lblPuntajeGeneral = new JLabel("Puntaje general:");
		lblPuntajeGeneral.setBounds(34, 190, 117, 14);
		layeredPane_1.add(lblPuntajeGeneral);
		
		JButton btnSalir = new JButton("SALIR");
		btnSalir.setBounds(643, 517, 72, 23);
		layeredPane_1.add(btnSalir);
		
		lblNewLabel_1=new JLabel(Fecha1);
		lblNewLabel_1.setBounds(630, 113, 59, 14);
		layeredPane_1.add(lblNewLabel_1);
		//System.out.println(Fecha1 + " holsssss");
		
		JLabel lblTablaGeneralDel = new JLabel("TABLA GENERAL DEL TORNEO");
		lblTablaGeneralDel.setFont(new Font("Tahoma", Font.BOLD, 15));
		lblTablaGeneralDel.setBounds(267, 31, 225, 14);
		layeredPane_1.add(lblTablaGeneralDel);
		
				
		final JComboBox comboBox = new JComboBox(Fecha11);
		
		ArrayList<DTOFecha> fechasCerradas= new ArrayList<DTOFecha>(); 
		fechasCerradas=DAOfechas.getFechas();
		if(DAOfechas.ExisteFechaCerrada()){
		int i=0;
		for(DTOFecha aux : fechasCerradas){
			int numerofecha= aux.getNumero();
			String estadoFecha=Integer.toString(aux.getId_estadoFecha());

		
			Fecha ultimafecha= DAOfechas.getUltimaFecha();
			int numeroultimafecha= ultimafecha.getNumero();
			String estadoUltimaFecha=Integer.toString(ultimafecha.getId_estadoFecha());
			int id_fecha= ultimafecha.getId_fecha();
			
			
			/*fechas reales*/
			Fecha11[i] = Integer.toString(numerofecha);
			i++;
			
			
		}
		}
	/*	int numerofechacerrada= fechaCerrada.getNumero();
		String estadoFecha=Integer.toString(fechaCerrada.getId_estadoFecha());
				
		Fecha ultimafecha= DAOfechas.getUltimaFecha();
		int numeroultimafecha= ultimafecha.getNumero();
		String estadoUltimaFecha=Integer.toString(ultimafecha.getId_estadoFecha());
		int id_fecha= ultimafecha.getId_fecha();*/
		
				
		/*fechas reales*/
		/*if((numerofechacerrada !=0)&& (numeroultimafecha == 0)){
		int i =0;
		while(i<=(numeroultimafecha)) {
			if(estadoFecha.equals("2")){
			Fecha1[i] = Integer.toString(i+1);
			//System.out.println(Fecha1[i]);
			String.valueOf(i);
			}
			i++;
		}
		}
		if((numerofechacerrada !=0)&& (numeroultimafecha != 0)){
			int i =0;
			while(i<=(numeroultimafecha-1)) {
				if(estadoUltimaFecha.equals("2")){
				Fecha1[i] = Integer.toString(i+1);
				System.out.println(Fecha1[i]);
				String.valueOf(i);
				}
				i++;
			}
			}
		
		String primeraFecha = "SELECT * \n"
				+"FROM Fecha \n"
				+ "WHERE "+1+" =numero;";
		*/
		
		
		lblNewLabel_1=new JLabel();
		comboBox.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				
				FechaSeleccionada= (comboBox.getSelectedItem().toString());

							
				try {
					
					TablaTorneo.creartabla(mipuesto1, tabla1, Fecha11, FechaSeleccionada, user);
					
					
				} catch (SQLException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} catch (ClassNotFoundException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
				dispose();
				
				}
				
			}); 

		
		comboBox.setBounds(620, 79, 83, 20);
		layeredPane_1.add(comboBox);
		
		comboBox.setModel(new DefaultComboBoxModel(Fecha11));
		
		
		JLabel lblFecha = new JLabel("Fecha");
		lblFecha.setBounds(620, 54, 62, 14);
		layeredPane_1.add(lblFecha);
		
		JLabel lblNewLabel = new JLabel("Tu puntaje:");
		lblNewLabel.setBounds(34, 82, 94, 14);
		layeredPane_1.add(lblNewLabel);
		
		JScrollPane scrollPane_1 = new JScrollPane();
		scrollPane_1.setBounds(34, 138, 663, 44);
		layeredPane_1.add(scrollPane_1);
		
		table_1 = new JTable();
		scrollPane_1.setViewportView(table_1);
		table_1.setModel(new DefaultTableModel(
			new Object[][] {
				mipuesto1,
			},
			new String[] {
				"Puesto", "Nombre y Apellido", "Equipo", "Puntaje"
			}
		) {
			boolean[] columnEditables = new boolean[] {
				false, false, false, false
			};
			public boolean isCellEditable(int row, int column) {
				return columnEditables[column];
			}
		});
		table_1.getColumnModel().getColumn(0).setPreferredWidth(96);
		table_1.getColumnModel().getColumn(1).setPreferredWidth(96);
		table_1.getColumnModel().getColumn(2).setPreferredWidth(96);
		table_1.getColumnModel().getColumn(3).setPreferredWidth(96);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(32, 215, 663, 281);
		layeredPane_1.add(scrollPane);
		
		table = new JTable();
		table.setModel(new DefaultTableModel(
				tabla1,
			
			new String[] {
				"Puesto", "Nombre y Apellido", "Equipo", "Puntaje"
			}
		) {
			boolean[] columnEditables = new boolean[] {
				false, false, false, false
			};
			public boolean isCellEditable(int row, int column) {
				return columnEditables[column];
			}
		});
		table.getColumnModel().getColumn(0).setPreferredWidth(96);
		table.getColumnModel().getColumn(1).setPreferredWidth(96);
		table.getColumnModel().getColumn(2).setPreferredWidth(97);
		table.getColumnModel().getColumn(3).setPreferredWidth(96);
		scrollPane.setViewportView(table);
		
		
		JLabel lblFechaSeleccionada = new JLabel("Fecha Seleccionada:");
		lblFechaSeleccionada.setBounds(504, 113, 126, 14);
		layeredPane_1.add(lblFechaSeleccionada);
		
		
		
		
		
		btnSalir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dispose();
			}
		});
		contentPane.setLayout(gl_contentPane);
		
		
	}
	
	public String getFechaSeleccionada(){
		return FechaSeleccionada;
	}
}
